// main.cpp
#include "rocksdb_wrapper.h"
#include <iostream>

int main()
{
    RocksDBWrapper db("./rocksdb_demo");

    if (db.open())
    {
        std::string value;

        // 写入数据
        db.put("name", "lzc");
        db.put("sexy", "boy");
        db.put("work", "programer");
        // 创建迭代器并遍历
        db.traverse();
        std::cout << "///////////////////////////////////////////////////////////" << std::endl;

        // 原子更新
        bool res = db.atomicUpdate("name", "sexy");

        // 读取数据
        if (db.get("work", value))
        {
            std::cout << "Get 'name': " << value << std::endl;
        }

        // 删除数据
        db.remove("name");

        // 创建迭代器并遍历
        db.traverse();

        // 创建快照
        auto snapshot = db.getSnapshot();
        // 使用快照进行读取操作...

        // 释放快照
    }
    else
    {
        std::cerr << "Failed to open database" << std::endl;
    }

    return 0;
}